import { ref, computed } from 'vue'
import { defineStore } from 'pinia'
import {loginAPI} from '@/apis/user'
import {useCartStore} from '@/stores/cartStore'
import {mergeCartAPI} from '@/apis/cart'
export const useUserStore=defineStore('user',()=>{
    const cartStore=useCartStore()
    //1.定义管理用户数据的state
    const userInfo=ref({})
    //2.定义获取数据接口的action函数
    const getUserInfo=async({account,password})=>{
        const res=await loginAPI({account,password})
        userInfo.value=res.result
        // cartStore.updateNewList()
        // console.log(userInfo.value)
        // console.log(res.result.token)
        await mergeCartAPI(cartStore.cartList.map(item=>{
            return {
                skuId:item.skuId,
                selected:item.selected,
                count:item.count
            }
        }))
        cartStore.updateNewList()
    }
    //退出时清除
    const clearUserInfo=()=>{
        userInfo.value={}
        cartStore.clearCart()
    }
    //3.对象格式把state和action retrun
    return {
        userInfo,getUserInfo,clearUserInfo
    }
},{
    persist: {
        enabled: true,
    }
})